home *** CD-ROM | disk | FTP | other *** search
- 1 rem *********************************
- 2 rem * mapping 4.4 *
- 3 rem * by *
- 4 rem * j.m.marcano *
- 5 rem *********************************
- 6 rem 8/29/84
- 10 rem ****** central section ******
- 15 poke53280,8:poke53281,0:d$="? ? ?"
- 20 printchr$(147):fori=1to11:print:next:printchr$(158)spc(17)"wait"
- 25 for ad=828to888:readva:pokead,va:nextad
- 30 fori=49152to49543:readc:pokei,c:next
- 40 sys49309:sys49385:poke81,197:sys49512:gosub160:sys49152:gosub100:gosub350
- 50 rem ** all the functions come here **
- 55 deffnf(x)=sin(x)
- 60 gosub210
- 70 onkgoto260,790,490,280,810,830,850,60
- 100 rem *** directory for f's keys ****
- 110 printchr$(19)chr$(30):fori=1to20:print:next
- 115 print" f1:graphic cleaner f2:store(m+)"
- 120 print" f3:range changer f4:recall"
- 130 print" f5:function changer f6:clear mry"
- 140 print" f7:compare with mry f8:no defined"chr$(19)chr$(154)
- 150 return
- 160 rem **transfer the char. to screen**
- 170 c=55341:j=1069:l=106
- 180 fori=0to14:pokej+i,l:pokec+i,1:l=l+1:next
- 190 c=c+40:j=j+40:ifj<1464then180
- 200 return
- 205 rem *** set up error trapping in 870***
- 206 t$="goto"+str$(870)+chr$(0)
- 207 for ad=1 to len(t$):poke891+ad,asc(mid$(t$,ad,1)):nextad
- 208 sys875
- 209 return
- 210 rem ****** input subroutine ******
- 215 gosub205
- 220 getk$:ifk$=""then220
- 230 ifk$=chr$(133)ork$=chr$(134)ork$=chr$(135)ork$=chr$(136)then240
- 231 ifk$=chr$(137)ork$=chr$(138)ork$=chr$(139)ork$=chr$(140)then240
- 235 goto220
- 240 k=asc(k$)-132
- 250 return
- 260 rem **clear char.** (f1 routine)
- 270 sys49385:goto60
- 280 rem **clear operation** (f7 routine)
- 285 onngoto290,295
- 290 poke81,202:sys49512:poke81,202:sys49416:poke81,197:sys49464:n=2:goto60
- 295 sys49385:poke81,202:sys49464:n=1:goto60
- 300 rem *** clear data area ***
- 310 forj=1064to1424step40
- 320 fori=j+23toj+39:pokei,32:nexti:nextj:return
- 330 rem *** clear work area ***
- 340 fori=1544to1743:pokei,32:next:return
- 350 rem *** set up data area ***
- 360 printchr$(19)chr$(159):print:printtab(23)"x0=";x0
- 370 printtab(23)"xm=";xm
- 380 printtab(23)"y0=";y0
- 390 printtab(23)"ym=";ym
- 400 print:printtab(23)"pixels:";dx
- 410 print:printtab(23)"data from "chr$(154);d$
- 420 return
- 430 rem *** set up the function area ***
- 440 fori=0to39:poke1784+i,32:next
- 450 printchr$(19)chr$(159):fori=1to18:print:next:print" y=";a$
- 460 return
- 470 rem **** position on work area ****
- 480 printchr$(19):fori=1to13:print:next:return
- 490 rem **input function **(f5 routine)
- 495 gosub330:gosub470
- 500 printchr$(159)"enter the 2dn member of the f'n on x "
- 505 inputa$:iflen(a$)<29then510
- 506 print"must has less than 29 characters":fori=0to1000:next:goto495
- 510 gosub330:gosub430:printchr$(19)chr$(144):fori=1to14:print:next:print;
- 520 print"55d[197]fnf(x)=";a$
- 530 print"run50
- 550 [151]631,13:[151]632,13:[151]633,13:[151]198,3:[128]
- 560 [143] ***input range subroutine***
- 570 [153][199](154):[141]330:[141]470:[133]"x0,xm";x0,xm
- 580 [139]x0[179]xm[167]600
- 590 [153]"must be x0<xm":[129]i[178]0[164]1000:[130]:[137]570
- 600 [141]330:[141]470:[133]"y0,ym";y0,ym
- 610 [139]y0[179]ym[167]630
- 620 [153]"must be y0<ym":[129]i[178]0[164]1000:[130]:[137]600
- 630 [141]330:[141]470:[133]"amount of pixels for the graphic";dx
- 635 [139]dx[177]0[167][141]330:[142]
- 640 [153]"must be >0":[129]i[178]0[164]1000:[130]:[137]630
- 650 [143] **** function evaluater ****
- 660 [139][180](x0)[178][180](xm)[167]670
- 665 x[178][171]x0[172]119[173](xm[171]x0):[129]y[178]0[164]79[169]5:[141]750:[130]
- 670 [139][180](y0)[178][180](ym)[167]700
- 675 y[178]y0[172]79[173](ym[171]y0)[170]79:[129]x[178]0[164]119[169]5:[141]750:[130]
- 700 sx[178](xm[171]x0)[173]dx
- 710 [129]i[178]x0[164]xm[169]sx
- 720 f[178][165]f(i):[139]f[179]y0[176]f[177]ym[167]740
- 730 x[178](i[171]x0)[173](xm[171]x0)[172]119:y[178](y0[171]f)[173](ym[171]y0)[172]79[170]79:[141]750
- 740 [130]:[142]
- 750 [143] ****** graphic maker ******
- 760 ro[178][181](y[173]8):ch[178][181](x[173]8):li[178]y[175]7
- 770 bit[178]7[171](x[175]7):byt[178]13136[170]ro[172]120[170]ch[172]8[170]li:[151]byt,[194](byt)[176](2[174]bit)
- 780 [142]
- 790 [143] **input range routine**(f3-routine)
- 800 d$[178]"user":[141]560:[141]300:[141]650:[141]350:[137]60
- 810 [143] **** store (f2-routine) ****
- 815 [151]81,197
- 820 [158]49416:x1[178]x0:x2[178]xm:y1[178]y0:y2[178]ym:dm[178]dx:[151]55296,5:[151]1024,13:[137]60
- 830 [143] **** recall **** (f4-routine)
- 840 [151]81,197:[158]49464:[139]x1[178]x2[167][137]60
- 842 d$[178]"memory":[141]300:x0[178]x1:xm[178]x2:y0[178]y1:ym[178]y2:dx[178]dm:[141]350:[137]60
- 850 [143] **memory cleaner** (f6-routine)
- 860 [151]81,197:[158]49512:[151]55296,0:[137]60
- 870 [143] *** error trapping ***
- 880 [141]470
- 885 en[178][194](889):[139]en[177]127[167][153][199](19):[129]i[178]1[164]11:[153]:[130]:[128]
- 900 [139]en[178]11[167][153]"check the function. use <f5>"
- 910 [139]en[178]20[167][153]"division by zero. change range"
- 920 [139]en[178]25[167][153]"the function is too complex. redefine it"
- 930 [139]en[178]15[167][153]"number too small or too high.redifine it"
- 940 [139]en[178]5[167][153]"device not present. repeat operation"
- 950 [137]50
- 5000 [143] ** machine language routines **
- 5010 [143] 49152-set up the format
- 5020 [143] 49309-move characters ram_rom
- 5030 [143] 49385-clear these characters
- 5040 [143] 49416-store routine
- 5050 [143] 49464-recall routine
- 5060 [143] 49512-clear routine
- 5070 [143] 00875-set up trapping
- 5950 [131]169,139,141,0,3,169,227,141,1,3,165,58,141,123
- 5960 [131]3,201,255,240,39,165,57,141,122,3,142,121,3,160
- 5970 [131]0,185,124,3,153,0,2,240,3,200,208,245,162,255
- 5980 [131]160,1,76,134,164,169,60,141,0,3,169,3,141,1
- 5990 [131]3,96,108,0,3
- 6000 [131]169,61,162,40,157,223,5,157,207,6,202,208,247,169,4,162,40,157,223,217
- 6010 [131]157,207,218,157,31,219,202,208,244,169,45,162,40,157,31,7,202,208,250
- 6020 [131]169,72,162,0,157,44,4,157,84,4,157,124,4,157,164,4,157,204,4,157,244
- 6030 [131]4,157,28,5,157,68,5,157,108,5,157,148,5,208,5,162,16,169,71,76,43,192
- 6040 [131]169,13,162,0,157,44,216,157,84,216,157,124,216,157,164,216,157,204,216
- 6050 [131]157,244,216,157,28,217,157,68,217,157,108,217,157,148,217,208,5,162,16
- 6060 [131]76,86,192,169,69,162,15,157,188,5,202,208,250,169,82,162,15,157,4,4
- 6070 [131]202,208,250,169,13,162,15,157,188,217,157,4,216,202,208,247,96,173,14
- 6080 [131]220,41,254,141,14,220,165,1,41,251,133,1,169,0,133,80,133,78,169,208
- 6090 [131]133,81,169,48,133,79,162,8,160,0,177,80,145,78,136,192,0,208,247,202
- 6100 [131]240,7,230,81,230,79,76,189,192,165,1,9,4,133,1,173,14,220,9,1,141,14
- 6110 [131]220,173,24,208,41,240,9,12,141,24,208,96
- 6120 [131]169,80,133,80,169,0,160,0,162,51,134,81,145,80,136,208,251,232,224,55
- 6130 [131]208,244,153,80,55,200,192,177,208,248,96
- 6140 [131]169,80,133,78,169,51,133,79,169,0,133,80,234,234,234,234,162,5,160,0
- 6150 [131]177,78,17,80,145,80,200,208,247,230,81,230,79,202,208,240,177,78,17
- 6160 [131]80,145,80,200,192,177,208,245,96,169,80,133,78,169,51,133,79,169,0
- 6170 [131]133,80,234,234,234,234,162,5,160,0,177,80,17,78,145,78,200,208,247
- 6180 [131]230,81,230,79,202,208,240,177,80,17,78,145,78,200,192,177,208,245,96
- 6190 [131]169,0,133,80,234,234,234,234,162,5,160,0,169,0,145,80,200,208,251
- 6200 [131]230,81,202,208,246,145,80,200,192,177,208,249,96
-